#ifndef __THREAD_POOL_H__
#define __THREAD_POOL_H__

#include "head.h"
#include "task_queue.h"

//线程池结构体
typedef struct {
    int threadNum;     //线程池中子线程的数量
    pthread_t *pthid;  //存放子线程id的数组
    TaskQue_t tQue;    //任务队列
}ThreadPool_t, *pThreadPool_t;

//线程池相关函数的声明
int threadPoolInit(pThreadPool_t pPool, int threadNum); //初始化线程池
int threadPoolStart(pThreadPool_t pPool);               //启动线程池

//程序需要用到的函数的声明
int tcpInit(int *sockFd, char *ip, char *port);  //设置tcp监听客户端的连接请求
int zeroCpySend(int clientFd, char *filename);  //采用零拷贝的方式把文件发送给客户端
int epollAddNewFd(int epfd, int newFd);         //把newFd加入到epfd监听中

#endif
